tower(x) → f(a, x, s(0))
f(a, 0, y) → y
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
↳ QTRS
↳ RRRPoloQTRSProof
tower(x) → f(a, x, s(0))
f(a, 0, y) → y
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
tower(x) → f(a, x, s(0))
f(a, 0, y) → y
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
Used ordering:
tower(x) → f(a, x, s(0))
POL(0) = 0
POL(a) = 0
POL(b) = 0
POL(double(x1)) = x1
POL(exp(x1)) = x1
POL(f(x1, x2, x3)) = 2·x1 + x2 + x3
POL(half(x1)) = x1
POL(s(x1)) = x1
POL(tower(x1)) = 1 + 2·x1
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
f(a, 0, y) → y
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, 0, y) → y
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
Used ordering:
f(a, 0, y) → y
POL(0) = 0
POL(a) = 1
POL(b) = 1
POL(double(x1)) = x1
POL(exp(x1)) = x1
POL(f(x1, x2, x3)) = 2 + x1 + 2·x2 + 2·x3
POL(half(x1)) = x1
POL(s(x1)) = x1
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
HALF(s(0)) → HALF(0)
F(a, s(x), y) → F(b, y, s(x))
HALF(s(s(x))) → HALF(x)
DOUBLE(s(x)) → DOUBLE(x)
EXP(s(x)) → EXP(x)
EXP(s(x)) → DOUBLE(exp(x))
HALF(0) → DOUBLE(0)
F(b, y, x) → EXP(y)
F(b, y, x) → HALF(x)
F(b, y, x) → F(a, half(x), exp(y))
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
HALF(s(0)) → HALF(0)
F(a, s(x), y) → F(b, y, s(x))
HALF(s(s(x))) → HALF(x)
DOUBLE(s(x)) → DOUBLE(x)
EXP(s(x)) → EXP(x)
EXP(s(x)) → DOUBLE(exp(x))
HALF(0) → DOUBLE(0)
F(b, y, x) → EXP(y)
F(b, y, x) → HALF(x)
F(b, y, x) → F(a, half(x), exp(y))
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
HALF(s(s(x))) → HALF(x)
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
HALF(s(s(x))) → HALF(x)
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
HALF(s(s(x))) → HALF(x)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
EXP(s(x)) → EXP(x)
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
EXP(s(x)) → EXP(x)
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
EXP(s(x)) → EXP(x)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
F(a, s(x), y) → F(b, y, s(x))
F(b, y, x) → F(a, half(x), exp(y))
f(a, s(x), y) → f(b, y, s(x))
f(b, y, x) → f(a, half(x), exp(y))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
F(a, s(x), y) → F(b, y, s(x))
F(b, y, x) → F(a, half(x), exp(y))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
f(a, s(x0), x1)
f(b, x0, x1)
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
f(a, s(x0), x1)
f(b, x0, x1)
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
F(a, s(x), y) → F(b, y, s(x))
F(b, y, x) → F(a, half(x), exp(y))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
F(b, y0, 0) → F(a, double(0), exp(y0))
F(b, y0, s(0)) → F(a, half(0), exp(y0))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
F(a, s(x), y) → F(b, y, s(x))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
F(b, y0, 0) → F(a, double(0), exp(y0))
F(b, y0, s(0)) → F(a, half(0), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
F(a, s(x), y) → F(b, y, s(x))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
F(b, y0, s(0)) → F(a, half(0), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
F(b, y0, s(0)) → F(a, double(0), exp(y0))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
F(a, s(x), y) → F(b, y, s(x))
F(b, y0, s(0)) → F(a, double(0), exp(y0))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
F(b, y0, s(0)) → F(a, 0, exp(y0))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
F(a, s(x), y) → F(b, y, s(x))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
F(b, y0, s(0)) → F(a, 0, exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
F(a, s(x), y) → F(b, y, s(x))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
F(a, s(s(y_1)), x1) → F(b, x1, s(s(y_1)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ SemLabProof
F(a, s(s(y_1)), x1) → F(b, x1, s(s(y_1)))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
exp(0)
exp(s(x0))
double(0)
double(s(x0))
half(0)
half(s(0))
half(s(s(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ SemLabProof
F(a, s(s(y_1)), x1) → F(b, x1, s(s(y_1)))
F(b, y0, s(s(x0))) → F(a, s(half(x0)), exp(y0))
half(0) → double(0)
half(s(0)) → half(0)
half(s(s(x))) → s(half(x))
exp(0) → s(0)
exp(s(x)) → double(exp(x))
double(0) → 0
double(s(x)) → s(s(double(x)))
F.1-1-0(b., y0, s.0(s.1(x0))) → F.0-0-0(a., s.0(half.1(x0)), exp.1(y0))
F.0-0-1(a., s.0(s.0(y_1)), x1) → F.1-1-0(b., x1, s.0(s.0(y_1)))
F.1-0-0(b., y0, s.0(s.1(x0))) → F.0-0-0(a., s.0(half.1(x0)), exp.0(y0))
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
F.1-1-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.1(y0))
F.0-0-1(a., s.0(s.1(y_1)), x1) → F.1-1-0(b., x1, s.0(s.1(y_1)))
F.0-0-0(a., s.0(s.1(y_1)), x1) → F.1-0-0(b., x1, s.0(s.1(y_1)))
F.1-0-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.0(y0))
double.0(s.1(x)) → s.0(s.0(double.1(x)))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
half.0(s.0(s.0(x))) → s.0(half.0(x))
double.0(0.) → 0.
double.0(s.0(x)) → s.0(s.0(double.0(x)))
half.0(s.0(s.1(x))) → s.0(half.1(x))
exp.0(s.1(x)) → double.0(exp.1(x))
exp.0(0.) → s.0(0.)
exp.0(s.0(x)) → double.0(exp.0(x))
exp.0(0.)
exp.0(s.0(x0))
exp.0(s.1(x0))
double.0(0.)
double.0(s.0(x0))
double.0(s.1(x0))
half.0(0.)
half.0(s.0(0.))
half.0(s.0(s.0(x0)))
half.0(s.0(s.1(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
F.1-1-0(b., y0, s.0(s.1(x0))) → F.0-0-0(a., s.0(half.1(x0)), exp.1(y0))
F.0-0-1(a., s.0(s.0(y_1)), x1) → F.1-1-0(b., x1, s.0(s.0(y_1)))
F.1-0-0(b., y0, s.0(s.1(x0))) → F.0-0-0(a., s.0(half.1(x0)), exp.0(y0))
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
F.1-1-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.1(y0))
F.0-0-1(a., s.0(s.1(y_1)), x1) → F.1-1-0(b., x1, s.0(s.1(y_1)))
F.0-0-0(a., s.0(s.1(y_1)), x1) → F.1-0-0(b., x1, s.0(s.1(y_1)))
F.1-0-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.0(y0))
double.0(s.1(x)) → s.0(s.0(double.1(x)))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
half.0(s.0(s.0(x))) → s.0(half.0(x))
double.0(0.) → 0.
double.0(s.0(x)) → s.0(s.0(double.0(x)))
half.0(s.0(s.1(x))) → s.0(half.1(x))
exp.0(s.1(x)) → double.0(exp.1(x))
exp.0(0.) → s.0(0.)
exp.0(s.0(x)) → double.0(exp.0(x))
exp.0(0.)
exp.0(s.0(x0))
exp.0(s.1(x0))
double.0(0.)
double.0(s.0(x0))
double.0(s.1(x0))
half.0(0.)
half.0(s.0(0.))
half.0(s.0(s.0(x0)))
half.0(s.0(s.1(x0)))
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesReductionPairsProof
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
F.1-0-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.0(y0))
double.0(s.1(x)) → s.0(s.0(double.1(x)))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
half.0(s.0(s.0(x))) → s.0(half.0(x))
double.0(0.) → 0.
double.0(s.0(x)) → s.0(s.0(double.0(x)))
half.0(s.0(s.1(x))) → s.0(half.1(x))
exp.0(s.1(x)) → double.0(exp.1(x))
exp.0(0.) → s.0(0.)
exp.0(s.0(x)) → double.0(exp.0(x))
exp.0(0.)
exp.0(s.0(x0))
exp.0(s.1(x0))
double.0(0.)
double.0(s.0(x0))
double.0(s.1(x0))
half.0(0.)
half.0(s.0(0.))
half.0(s.0(s.0(x0)))
half.0(s.0(s.1(x0)))
Used ordering: POLO with Polynomial interpretation [25]:
half.0(s.0(s.1(x))) → s.0(half.1(x))
exp.0(s.1(x)) → double.0(exp.1(x))
double.0(s.1(x)) → s.0(s.0(double.1(x)))
POL(0.) = 0
POL(F.0-0-0(x1, x2, x3)) = x1 + x2 + x3
POL(F.1-0-0(x1, x2, x3)) = x1 + x2 + x3
POL(a.) = 0
POL(b.) = 0
POL(double.0(x1)) = x1
POL(double.1(x1)) = x1
POL(exp.0(x1)) = x1
POL(exp.1(x1)) = x1
POL(half.0(x1)) = x1
POL(half.1(x1)) = x1
POL(s.0(x1)) = x1
POL(s.1(x1)) = x1
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDPOrderProof
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
F.1-0-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.0(y0))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
half.0(s.0(s.0(x))) → s.0(half.0(x))
exp.0(0.) → s.0(0.)
exp.0(s.0(x)) → double.0(exp.0(x))
double.0(0.) → 0.
double.0(s.0(x)) → s.0(s.0(double.0(x)))
exp.0(0.)
exp.0(s.0(x0))
exp.0(s.1(x0))
double.0(0.)
double.0(s.0(x0))
double.0(s.1(x0))
half.0(0.)
half.0(s.0(0.))
half.0(s.0(s.0(x0)))
half.0(s.0(s.1(x0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F.1-0-0(b., y0, s.0(s.0(x0))) → F.0-0-0(a., s.0(half.0(x0)), exp.0(y0))
Used ordering: Polynomial interpretation [25]:
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
POL(0.) = 1
POL(F.0-0-0(x1, x2, x3)) = 1 + x1 + x2
POL(F.1-0-0(x1, x2, x3)) = 1 + x1 + x3
POL(a.) = 1
POL(b.) = 1
POL(double.0(x1)) = 1
POL(exp.0(x1)) = 0
POL(half.0(x1)) = x1
POL(s.0(x1)) = 1 + x1
double.0(0.) → 0.
half.0(s.0(s.0(x))) → s.0(half.0(x))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
F.0-0-0(a., s.0(s.0(y_1)), x1) → F.1-0-0(b., x1, s.0(s.0(y_1)))
half.0(0.) → double.0(0.)
half.0(s.0(0.)) → half.0(0.)
half.0(s.0(s.0(x))) → s.0(half.0(x))
exp.0(0.) → s.0(0.)
exp.0(s.0(x)) → double.0(exp.0(x))
double.0(0.) → 0.
double.0(s.0(x)) → s.0(s.0(double.0(x)))
exp.0(0.)
exp.0(s.0(x0))
exp.0(s.1(x0))
double.0(0.)
double.0(s.0(x0))
double.0(s.1(x0))
half.0(0.)
half.0(s.0(0.))
half.0(s.0(s.0(x0)))
half.0(s.0(s.1(x0)))